export function themeColorsToCssVariables(
	colors: Record<string, string>,
): Record<string, string> {
	const cssVars = colors
		? Object.fromEntries(
				Object.entries(colors).map(([name, value]) => {
					if (value === undefined) return [];
					const cssName = themeColorNameToCssVariable(name);
					return [cssName, value];
				}),
			)
		: {};

	for (const key of Array.from({ length: 5 }, (_, index) => index)) {
		cssVars[`--chart-${key + 1}`] =
			cssVars[`--chart-${key + 1}`] ||
			`${cssVars["--primary"]} / ${100 - key * 20}%`;
	}

	return cssVars;
}

export function themeColorNameToCssVariable(name: string) {
	return `--${name.replaceAll(/([a-z])([A-Z])/g, "$1-$2").toLowerCase()}`;
}
